package com.xayy.mgt.service;

import cn.kawins.base.result.CheckResult;
import cn.kawins.mybatis.BaseService;
import com.xayy.mgt.model.HealthDeep;
import com.xayy.mgt.model.HealthSituation;
import com.xayy.mgt.model.vo.EvaluationVo;
import com.xayy.mgt.model.vo.WordReportVo;

import java.util.Date;
import java.util.Map;

/**
 * @author Nie
 * @version V1.0
 * @date 2023/8/17 11:45
 */
public interface HealthSituationService extends BaseService<HealthSituation> {
    CheckResult<?> evaluation(EvaluationVo evaluationVo);

    CheckResult<Object> getHealthDeepInfo(Long nodeId);

    CheckResult<Object> getIndexCurveData(Long nodeId);

    CheckResult<Map<String, Double>> errorEvaluation(String customParam, EvaluationVo evaluationVo);

    void insertInfo(Long nodeId, Date evaluationTime, Double result, HealthDeep healthDeep);

    /**
     * 生成健康报告
     * @param nodeId 节点id
     * @return CheckResult
     */
    CheckResult<Object> generateHealthReport(Long nodeId);

    /**
     * 查询卫星健康度
     */
    CheckResult<Object> getHealthSituationInfo(Long id, Date time);

    /**
     * 生成健康报告-WORD
     * @param wordReportVo 请求参数对象
     */
    void generateHealthReportForWord(WordReportVo wordReportVo);
}

